Node.js இல் தொகுதி என்றால் என்ன?
தொகுதிகள் Node.js பயன்பாடுகளின் கட்டுமானத் தொகுதிகள் ஆகும், இவை குறியீட்டை தர்க்கரீதியான, மீண்டும் பயன்படுத்தக்கூடிய கூறுகளாக ஒழுங்கமைக்க உங்களை அனுமதிக்கின்றன. இவை பின்வருவனவற்றில் உதவுகின்றன:
குறியீட்டை ஒழுங்கமைத்தல்
கையாளக்கூடிய கோப்புகளாக குறியீட்டை ஒழுங்கமைக்கிறது
செயல்பாட்டை உள்ளடக்குதல்
செயல்பாட்டை உள்ளடக்குகிறது
உலகளாவிய பெயர்வெளி மாசுபாட்டைத் தடுத்தல்
உலகளாவிய பெயர்வெளி மாசுபாட்டைத் தடுக்கிறது
குறியீடு பராமரிப்பு மற்றும் மீள் பயன்பாடு
குறியீடு பராமரிப்பு மற்றும் மீள் பயன்பாட்டை மேம்படுத்துகிறது
முக்கிய குறிப்பு:
Node.js இரண்டு தொகுதி அமைப்புகளை ஆதரிக்கிறது: CommonJS (பாரம்பரிய) மற்றும் ES தொகுதிகள் (ECMAScript தொகுதிகள்). இந்தப் பக்கம் CommonJS ஐ உள்ளடக்குகிறது, ES தொகுதிகள் தனித்தனியாக உள்ளடக்கப்பட்டுள்ளன.
முக்கிய உள்ளமைக்கப்பட்ட தொகுதிகள்
Node.js பைனரியில் தொகுக்கப்பட்ட பல உள்ளமைக்கப்பட்ட தொகுதிகளை வழங்குகிறது.
இங்கே பொதுவாகப் பயன்படுத்தப்படும் சிலவை உள்ளன:
fs
கோப்பு அமைப்பு செயல்பாடுகள்
http
HTTP சேவையகம் மற்றும் வாடிக்கையாளர்
path
கோப்பு பாதை பயன்பாடுகள்
os
இயக்க முறைமை பயன்பாடுகள்
events
நிகழ்வு கையாளுதல்
util
பயன்பாட்டு செயல்பாடுகள்
stream
ஸ்ட்ரீம் கையாளுதல்
crypto
குறியாக்க செயல்பாடுகள்
எந்த உள்ளமைக்கப்பட்ட தொகுதியையும் பயன்படுத்த, require() செயல்பாட்டைப் பயன்படுத்தவும்:
const http = require('http');
எடுத்துக்காட்டு: எளிய HTTP சேவையகம்
http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('Hello World!');
}).listen(8080);
தொகுதிகளை உருவாக்குதல் மற்றும் ஏற்றுமதி செய்தல்
Node.js இல், .js நீட்டிப்பு கொண்ட எந்த கோப்பும் ஒரு தொகுதியாகும். நீங்கள் பல வழிகளில் ஒரு தொகுதியிலிருந்து செயல்பாட்டை ஏற்றுமதி செய்யலாம்:
1. பல உருப்படிகளை ஏற்றுமதி செய்தல்
// Exporting multiple functions
const getCurrentDate = () => new Date().toISOString();
const formatCurrency = (amount, currency = 'USD') => {
return new Intl.NumberFormat('en-US', {
style: 'currency',
currency: currency
}).format(amount);
};
// Method 1: Exporting multiple items
exports.getCurrentDate = getCurrentDate;
exports.formatCurrency = formatCurrency;
// Method 2: Exporting an object with multiple properties
// module.exports = { getCurrentDate, formatCurrency };
2. ஒரு ஒற்றை உருப்படியை ஏற்றுமதி செய்தல்
class Logger {
constructor(name) {
this.name = name;
}
log(message) {
console.log(`[${this.name}] ${message}`);
}
error(error) {
console.error(`[${this.name}] ERROR:`, error.message);
}
}
// Exporting a single class
module.exports = Logger;
உங்கள் தொகுதிகளைப் பயன்படுத்துதல்
ஒரு தொடர்புடைய அல்லது முழுமையான பாதையுடன் require() ஐப் பயன்படுத்தி உங்கள் தனிப்பயன் தொகுதிகளை இறக்குமதி செய்து பயன்படுத்தவும்:
எடுத்துக்காட்டு: app.js
const http = require('http');
const path = require('path');
// Importing custom modules
const { getCurrentDate, formatCurrency } = require('./utils');
const Logger = require('./logger');
// Create a logger instance
const logger = new Logger('App');
// Create server
const server = http.createServer((req, res) => {
try {
logger.log(`Request received for ${req.url}`);
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write(`Welcome to our app!
`);
res.write(`Current date: ${getCurrentDate()}
`);
res.write(`Formatted amount: ${formatCurrency(99.99)}
`);
res.end();
} catch (error) {
logger.error(error);
res.writeHead(500, { 'Content-Type': 'text/plain' });
res.end('Internal Server Error');
}
});
// Start server
const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
logger.log(`Server running at http://localhost:${PORT}`);
});
தொகுதி ஏற்றுதல் மற்றும் தற்காலிக சேமிப்பு
Node.js தொகுதிகள் முதல் முறையாக ஏற்றப்பட்ட பிறகு அவற்றை தற்காலிகமாக சேமிக்கிறது. இதன் பொருள், அடுத்தடுத்த require() அழைப்புகள் தற்காலிகமாக சேமிக்கப்பட்ட பதிப்பை வழங்குகின்றன.
தொகுதி தீர்மானம்
நீங்கள் ஒரு தொகுதியை require செய்யும் போது, Node.js இந்த வரிசையில் அதைத் தேடுகிறது:
- முக்கிய Node.js தொகுதிகள் (fs, http போன்றவை)
- node_modules கோப்புறைகளில் Node தொகுதிகள்
- உள்ளூர் கோப்புகள் (./ அல்லது ../ முன்னொட்டைப் பயன்படுத்தி)
சிறந்த நடைமுறைகள்
தொகுதி ஒழுங்கமைப்பு
ஏற்றுமதி முறைகள்
சுருக்கம்
தொகுதிகள் Node.js இல் ஒரு முக்கிய கருத்தாகும். அவை குறியீட்டை மீண்டும் பயன்படுத்தக்கூடிய, பராமரிக்கக்கூடிய அலகுகளாக ஒழுங்கமைக்க உங்களை இயக்குகின்றன.
தொகுதிகளை திறம்பட உருவாக்க, ஏற்றுமதி செய்தல் மற்றும் பயன்படுத்துதல் ஆகியவற்றைப் புரிந்துகொள்வதன் மூலம், நீங்கள் அளவிடக்கூடிய மற்றும் நன்கு கட்டமைக்கப்பட்ட பயன்பாடுகளை உருவாக்கலாம்.
CommonJS தொகுதிகள்
Node.js இயல்பாக CommonJS தொகுதிகளைப் பயன்படுத்துகிறது
require() மற்றும் module.exports
இறக்குமதி செய்ய require() ஐயும், ஏற்றுமதி செய்ய module.exports ஐயும் பயன்படுத்தவும்
தற்காலிக சேமிப்பு
தொகுதிகள் முதல் ஏற்றத்திற்குப் பிறகு தற்காலிகமாக சேமிக்கப்படுகின்றன
சிறந்த நடைமுறைகள்
தொகுதி ஒழுங்கமைப்பு மற்றும் கட்டமைப்புக்கான சிறந்த நடைமுறைகளைப் பின்பற்றவும்
முக்கிய புள்ளிகள்:
- தொகுதிகள் குறியீட்டை ஒழுங்கமைக்க உதவுகின்றன
- உள்ளமைக்கப்பட்ட தொகுதிகள் முக்கிய செயல்பாடுகளை வழங்குகின்றன
- exports பல ஏற்றுமதிகளுக்கும், module.exports ஒற்றை ஏற்றுமதிக்கும்
- தொகுதிகள் திறம்பட தற்காலிகமாக சேமிக்கப்படுகின்றன
- ஒற்றை பொறுப்பு கொள்கையைப் பின்பற்றவும்